<?php

namespace App\Console\Dispatch;


use App\Service\BaiduNlp;
use App\Service\Collect\Jrj as Service;
use Illuminate\Console\Command;


class Wallstreetcn extends Base
{
    /**
     * 采集快讯
     *
     * 参数与选项的区别
     *      在执行命令时，参数必须严格按定义时的顺序输入，不需输入参数名，只需输入参数的值即可。
     *      输入选项则必须带选项名，且选项名前须加 -- 前缀（选项简写字母前加 -），选项可按任意顺序输入
     */

    // sudo -u root php /www/wwwroot/shenlanhui/laravel/artisan command:dispatch-wallstreetcn
    // sudo -u root php www/wwwroot/slh/laravel.test/artisan command:dispatch-wallstreetcn
    //  php artisan command:dispatch-wallstreetcn
    // 请求 以及参数
    // protected $signature = 'command:name {param1} {param2}';  // 必填参数
    // protected $signature = 'command:name {参数名?} {参数名=默认值} {参数名? : 参数说明}';  // 可选参数
    // protected $signature = 'command:name {--选项名} {--选项名=} {--选项名=默认值} {--简写字母|选项名} {--选项名 : 选项说明}';  // 选项

    protected $signature   = 'command:dispatch-wallstreetcn';
    protected $description = '采集华尔街见闻：科技';

    // 执行
    public function handle()
    {
        // 采集科技
        // https://wallstreetcn.com/live/tech
        // https://api-one-wscn.awtmt.com/apiv1/content/lives?channel=tech-channel&client=pc&limit=20&first_page=true&accept=live%2Cvip-live

        // 采集要闻
        // https://wallstreetcn.com/live/global
        // https://api-one-wscn.awtmt.com/apiv1/content/lives?channel=global-channel&client=pc&limit=20&first_page=true&accept=live%2Cvip-live


        //采集科技：内容和时间
        $url = 'https://api-one-wscn.awtmt.com/apiv1/content/lives?channel=tech-channel&client=pc&limit=20&first_page=true&accept=live%2Cvip-live';
        $ret = $this->curlData($url);
        $ret = json_decode($ret, true);
        if($ret["code"] != "20000"){
            return $this->showError('采集错误！');
        }


        // 采集展示
        var_dump($ret);

        // 保存到数据库
        $filter = ["科创板日报", "环球", "详情>>", ">>", '华尔街见闻早餐', '早间要闻汇总'];
        $res    = $this->saveLists($ret["data"]["items"], $filter);


        return $this->showError('采集完成！');
    }

    // 保存
    protected function saveLists($list, $filter)
    {
        foreach($list as $_row){
            // 过滤那种带国家图片的快讯（那种图片就是国家国旗，快讯字数也很少）
            // 具体不知道怎么过滤，这是个找到的，比较明细区别的字段
            if($_row['is_calendar']){
                continue;
            }

            // 是否重要
            $_row["is_major"] = "0";
            if($_row["score"] == "2"){
                $_row["is_major"] = "1";
            }


            // 保存
            $this->saveRow($_row, $filter);

        } // 循环采集结束

        return true;
    }

}
